The growth of the Internet and related network communication networks has given rise to an increasingly large numbers of distributed information processing systems in which individual users obtain information from an ever increasing number of sources. Currently, web servers typically provide a mechanism to permit content data to be displayed within a web browser running on a remote client. Over time, this content data has evolved to include static pages, dynamically created pages, and pages that include programmable functionality that executes on the server to generate content displayed to a user within the framework of the browser. This data exchange model typically uses a web browser that transfers a “page” of data that is to be displayed to the user in some manner.
Web servers, however, have not provided remote execution of processing functions that may reside on a server. All of the processing functions that are typically performed by a web server relate to processing database queries and similar data retrieval operations upon data that is resident on the server. Web servers do not typically receive a block of input data, process a function upon the data, and return a resultant set of data. In addition, web servers do not typically operate upon input data sets to generate output data sets as if the web server was responding to a remote process or function call. In spite of the fact that significant computational capacity is resident within web servers, these servers typically provide a “read-only” type of data retrieval function that are based upon user-generated requests.
If web servers provide an interface that allows remote client processes to execute functions resident on the servers using the web as a communications mechanism, web servers provide the equivalent functionality of a remote procedure call for users seeking access to processing functions resident on the server. Such an interface would change the Internet from a means to share and display content data to a distributed processing environment in which web servers provided processing services to remote clients.